package cn.edu.hbpu.mapper;

import cn.edu.hbpu.entity.SecondCategory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author lcy
 * @date 2022/8/16 19:03
 * @description
 */
@Mapper
public interface SecondCategoryMapper extends BaseMapper<SecondCategory> {
    /**
     * 查询二级分类，并查询出二级分类对应的一级分类名
     *
     * @param offset   偏移量
     * @param pageSize 查询数据量
     * @return
     */
    List<SecondCategory> pagingSecondCategoryWithFirstCategoryName(@Param("offset") int offset, @Param("pageSize") int pageSize);

    /**
     * 根据时间日期进行搜索分页查询二级分类及其所属的一级分类名
     * @param searchField
     * @param startDateTime
     * @param endDateTime
     * @param offset
     * @param pageSize
     * @return
     */
    List<SecondCategory> pagingSecondCategoryWithFirstCategoryNameByDateTime(String searchField, LocalDateTime startDateTime, LocalDateTime endDateTime, int offset, int pageSize);

    /**
     * 计算根据时间日期进行搜索的总数据条数
     * @param searchField
     * @param startDateTime
     * @param endDateTime
     * @return
     */
    Integer selectTotalCountByDateTime(String searchField, LocalDateTime startDateTime, LocalDateTime endDateTime);

    /**
     * 根据其它字段进行搜索分页查询二级分类及其所属的一级分类名
     * @param searchField
     * @param searchText
     * @param offset
     * @param pageSize
     * @return
     */
    List<SecondCategory> pagingSecondCategoryWithFirstCategoryNameByOtherField(String searchField, String searchText, int offset, int pageSize);

    /**
     * 计算根据其它字段进行搜索的总数据条数
     * @param searchField
     * @param searchText
     * @return
     */
    Integer selectTotalCountByOtherField(String searchField, String searchText);
}
